preinstalljob-hook-1.yaml

apiVersion: batch/v1
kind: Job
metadata:
  name: preinstalljob-hook-1
  annotations:
    "helm.sh/hook": "pre-install"
    "helm.sh/hook-weight": "-2"

spec:
  template:
    spec:      
      containers:
      - name: pre-install
        image: busybox
        imagePullPolicy: IfNotPresent
        
        command: ['sh', '-c', 'echo pre-install Job Pod is Running Weight -2 and Sleep 2 ; sleep 2']
    
      restartPolicy: OnFailure
      terminationGracePeriodSeconds: 0
      
  backoffLimit: 3
  completions: 1
  parallelism: 1
  
  

preinstalljob-hook-2.yaml

apiVersion: batch/v1
kind: Job
metadata:
  name: preinstalljob-hook-2
  annotations:
    "helm.sh/hook": "pre-install"
    "helm.sh/hook-weight": "3"

spec:
  template:
    spec:      
      containers:
      - name: pre-install
        image: busybox
        imagePullPolicy: IfNotPresent
        
        command: ['sh', '-c', 'echo pre-install Job Pod is Running Weight 3 and Sleep 3 ; sleep 3']
    
      restartPolicy: OnFailure
      terminationGracePeriodSeconds: 0
      
  backoffLimit: 3
  completions: 1
  parallelism: 1



preinstalljob-hook-3.yaml

apiVersion: batch/v1
kind: Job
metadata:
  name: preinstalljob-hook-3
  annotations:
    "helm.sh/hook": "pre-install"
    "helm.sh/hook-weight": "5"

spec:
  template:
    spec:      
      containers:
      - name: pre-install
        image: busybox
        imagePullPolicy: IfNotPresent
        
        command: ['sh', '-c', 'echo pre-install Job Pod is Running Weight 5 and Sleep 5; sleep 5']
    
      restartPolicy: OnFailure
      terminationGracePeriodSeconds: 0
      
  backoffLimit: 3
  completions: 1
  parallelism: 1
  

helm list  
  
helm install hookweightdemo ./hooktest


kubectl describe pod | grep -E 'Name:|Anno|Started:|Finished:'

kubectl describe pod/preinstalljob-hook-1-g78s4 | grep -E 'Anno|Started:|Finished:'
kubectl describe job/preinstalljob-hook-2 | grep -E 'Anno|Started:|Finished:'
kubectl describe job/preinstalljob-hook-3 | grep -E 'Anno|Started:|Finished:'


kubectl describe <<pod name>> | grep -E 'Anno|Started:|Finished:'





helm delete hookweightdemo

kubectl get jobs  
kubectl delete job/preinstalljob-hook-1
kubectl delete job/preinstalljob-hook-2
kubectl delete job/preinstalljob-hook-3

kubectl get all